package com.yqg.protection.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * history_fire_cock 实体类
 *
 * @author zxf
 * @since 2025-08-12
 */
@Getter
@Setter
@TableName("history_fire_cock")
@ApiModel(value = "HistoryFireCock对象", description = "智能消火栓历史数据表")
public class HistoryFireCock implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("ID（主键）")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("设备ID")
    private Long equipmentInputStoreId;

    @ApiModelProperty("发送时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sendTime;

    @ApiModelProperty("上行包序列号")
    private Integer upPacketSn;

    @ApiModelProperty("设备类型")
    private String deviceType;

    @ApiModelProperty("产品ID")
    private String productId;

    @ApiModelProperty("设备ID")
    private String deviceId;

    @ApiModelProperty("通信协议")
    private String protocol;

    @ApiModelProperty("消息类型")
    private String messageType;

    @ApiModelProperty("关联资产ID")
    private String assocAssetId;

    @ApiModelProperty("租户ID")
    private String tenantId;

    @ApiModelProperty("SIM卡IMSI")
    private String imsi;

    @ApiModelProperty("MQTT主题")
    private String topic;

    @ApiModelProperty("上行数据序列号")
    private Integer upDataSn;

    @ApiModelProperty("服务ID")
    private String serviceId;

    @ApiModelProperty("物理小区标识")
    private Integer pci;

    @ApiModelProperty("参考信号接收功率")
    private Integer rsrp;

    @ApiModelProperty("小区标识")
    private Integer cellId;

    @ApiModelProperty("信号干扰加噪声比")
    private Integer sinr;

    @ApiModelProperty("小区唯一标识")
    private Integer ecl;

    @ApiModelProperty("设备ICCID")
    private String iccid;

    @ApiModelProperty("位置信息")
    private String location;

    @ApiModelProperty("电源类型")
    private Integer powerType;

    @ApiModelProperty("设备类型")
    private Integer devType;

    @ApiModelProperty("设备固件版本号")
    private String version;

    @ApiModelProperty("设备型号")
    private Integer devModel;

    @ApiModelProperty("数据发送间隔(s)")
    private Integer sendInterval;

    @ApiModelProperty("自检间隔天数(day)")
    private Integer selfCheckDays;

    @ApiModelProperty("数据采样间隔(s)")
    private Integer sampInterval;

    @ApiModelProperty("告警门限")
    private String alarmsTh;

    @ApiModelProperty("设备功能配置位")
    private Integer featuresBits;

    @ApiModelProperty("网络类型")
    private String network;

    @ApiModelProperty("CSQ")
    private Integer csq;

    @ApiModelProperty("告警数据")
    private String alarmsDat;

    @ApiModelProperty("系统告警")
    private Integer alarm;

    @ApiModelProperty("传感器数据")
    private String sensorDat;

    @ApiModelProperty("数据采样时间（字符串存储）")
    private String sampTime;

    @ApiModelProperty("电量百分比(%)")
    private Integer batLevel;

    @ApiModelProperty("设备事件")
    private Integer event;

    @TableField(exist = false)
    private String equipmentId;
}
